﻿using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.Generic;
using System.Collections.ObjectModel;

namespace InTREPWP.ViewModels
{
    public class EmbarqueViewModel : INotifyPropertyChanged
    {
        private Int32 _id;
        public Int32 Id
        {
            get
            {
                return _id;
            }
            set
            {
                if (value != _id)
                {
                    _id = value;
                    NotifyPropertyChanged("Id");
                }
            }
        }

        private DateTime _dataInicial;
        public DateTime DataInicial
        {
            get
            {
                return _dataInicial;
            }
            set
            {
                if (value != _dataInicial)
                {
                    _dataInicial = value;
                    NotifyPropertyChanged("DataInicial");
                }
            }
        }

        private Int32 _concluido;
        public Int32 Concluido
        {
            get
            {
                return _concluido;
            }
            set
            {
                if (value != _concluido)
                {
                    _concluido = value;
                    NotifyPropertyChanged("Concluido");
                }
            }
        }

        private string _produto;
        public string Produto
        {
            get
            {
                return _produto;
            }
            set
            {
                if (value != _produto)
                {
                    _produto = value;
                    NotifyPropertyChanged("Produto");
                }
            }
        }

        private string _navio;
        public string Navio
        {
            get
            {
                return _navio;
            }
            set
            {
                if (value != _navio)
                {
                    _navio = value;
                    NotifyPropertyChanged("Navio");
                }
            }
        }


        private string _destino;
        public string Destino
        {
            get
            {
                return _destino;
            }
            set
            {
                if (value != _destino)
                {
                    _destino = value;
                    NotifyPropertyChanged("Destino");
                }
            }
        }
        private ObservableCollection<ItemDeEmbarqueViewModel> _itens;
        public ObservableCollection<ItemDeEmbarqueViewModel> Itens
        {
            get
            {
                return _itens;
            }
            set
            {
                if (value != _itens)
                {
                    _itens = value;
                    NotifyPropertyChanged("Itens");
                }
            }
        }


        public event PropertyChangedEventHandler PropertyChanged;
        private void NotifyPropertyChanged(String propertyName)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (null != handler)
            {
                handler(this, new PropertyChangedEventArgs(propertyName));
            }
        }
    }
}